The term IPTV widely used in this document stands for Internet Protocol Television and is an umbrella term describing TV and video delivered using Internet technology instead of normal linear RF broadcast. A typical IPTV solution as shown in FIG. 1 relies on a network IP infrastructure and is based on three main components.                1. Head end equipment 110 which includes the content providers and the specific equipment needed to transmit and receive digital assets (satellite receiver, encoders, etc.). Such equipment is responsible to ensure the transport of digital assets onto the IP network.        2. Middleware equipment 120 ensures digital assets content delivery. It provides the portal and services such as video on demand (VOD), any may be installed close to a digital subscriber line access multiplexer (DSLAM). End-users consume such digital assets using various devices installed locally.        3. The customer premises side comprises terminal equipment enabling access to services, and may include residential gateway (Modem) functionality, IP or analog phone functionality, etc. The terminal may take the form of a television set top box (STB), personal computer (PC), or other such device. Record and/or replay functionality may also be provided at the terminal.        
While described above in the context of a domestic reception environment, VOD may of course be provided for other devices such as mobile phones, PDAs, car embedded devices, etc. While described in the context of a VOD system, equivalent provisions may be made for the distribution of any digital content.
Conventional VOD is based on a unicast mechanism (one to one connection) and uses for example the RTSP protocol (RFC 2026) as described in more detail hereafter to manage the user requests, wherein the program recorded has to be indexed via trick file mechanisms, necessary for fast forward, fast rewind, play and pause features.
TV broadcast (TVB) over IP is based on a multicast mechanism (one to many connection) and uses for example the IGMP protocol (RFC 1112) as described in more detail hereafter to manage user requests.
Transmission Modes
Unicast provides a one to one connection (one stream) between a user (STB/PC) and a video server. The user can ask via a fast-rewind/fast forward command on a remote control to accelerate or reverse the content playback. Such commands are sent via RTSP for example.
Multicast provides one connection to all the users belonging to the multicast group. The stream is sent via the network and then the users can subscribe to be part of the multicast via an IGMP command. In this case, we have one stream or n users.
IP multicasting is the transmission of an IP datagram to a “host group”, i.e., a set of zero or more hosts identified by a single IP destination address. A multicast datagram is delivered to all members of its destination host group with the same “best-effort” reliability as regular unicast IP datagrams, i.e., the datagram is not guaranteed to arrive intact at all members of the destination group or in the same order relative to other datagrams.
The membership of a host group is dynamic; that is, hosts mayjoin and leave groups at any time. There is no restriction on the location or number of members in a host group. A host may be a member of more than one group at a time. A host need not be a member of a group to send datagrams to it.
Real Time Streaming Protocol
Real time streaming protocol (RTSP) is an Internet Engineering Task Force (IETF) proposed standard for controlling streaming media (see RFC 2326). It describes a set of messages that enable the efficient delivery of streamed multimedia over Internet protocol (IP) networks. RTSP works with established protocols, such as the real time transport protocol (RTP—see RFC 1889) and hypertext transfer protocol (HTTP), to provide an integrated approach to streaming media over the Internet.
In a VOD context, a client asks a server for media streaming using VCR-style asset controls such as play, fast-forward, fast-rewind, and pause. To implement these actions, the server use RTSP message pairs which consist of a client request and a server response. One client action can cause more than one TSP message pair to be sent. FIG. 2 summarizes the main verbs used in the RTSP protocol.
A user at client terminal 130 opens a program item with the DESCRIBE 200 and SETUP 202 requests. The server's DESCRIBE response 201 provides parameters related to the media of the program item, such as the audio header and duration. The SETUP message 202 transmits transport parameters and establishes a session with a unique session ID. Once a program item is open, the client terminal can play it in normal, fast-forward, or rewind mode by sending a PLAY request 204 with a scale parameter that indicates the mode and speed. A PAUSE request 206 may also be sent to pause the program item. Finally, a TEARDOWN request 208 causes the client terminal to exit. Like HTTP, RTSP is text-based and a simple use case of the client/server dialog.
IP Multicast
IP multicast provides an efficient one-to-many delivery service. To achieve one-to-many delivery using IP unicast traffic, each datagram needs to be sent multiple times. To achieve one-to-many delivery using IP broadcast traffic, a single datagram is sent, but all nodes process it, even those that are not interested. With IP multicast, a single datagram is sent and forwarded across routers only to the network segments containing nodes that are interested in receiving it.
Historically, IP multicast traffic has been little utilized. However, recent developments in audio and video teleconferencing, distance learning, and data transfer to a large number of hosts have made IP multicast traffic more important.
More and more video content is available to users, either on the Internet available for download/streaming or on linear programming from broadcast operators (satellite/cable/IPTV). Navigating this content, be it on PC or on digital decoders to find what the user would like to watch can be complex and time consuming. Searching the Internet with a search engine, watching what you want, searching again, makes a complex user experience that is not compatible with the “lean-back” attitude of most TV viewers today.
A number of prior art approaches can be identified. The first group of prior art approaches are based on personal computers running browser software and include video sections of search engines that can be searched with keywords, and user-generated content video site that have integrated a concept of search on tags (metadata) entered at video ingest-time. A second group of solutions meanwhile is TV/STB based, and includes the integrated keyword search offered by IPTV Service Providers for their linear program electronic programming guide (EPG) and video on demand catalogues, and the “keyword” search enabled by satellite/cable operators in their EPGs.
All of these approaches are based on users inputting keywords, then retrieving a list of candidate content, selecting which one candidate to watch and then re-iterating the experience. It is desirable to create a different experience where the user can lean-back and enjoy content profiled to his taste in a real TV experience.
A number of partial solutions to this problem are provided by the prior art.
U.S. Pat. No. 6,642,938 relates to a method and system for real time personal TV channels which enables a set top box to automatically select from a number of channels so as to display the one that a user has selected as being of interest at a particular time of the day. Alternatively, the viewer may specify a set of keywords or topics of interest that the set-top box can use to ascertain a preferred set of programs. The set top box can match these keywords or topics of interest against upcoming television programming by reference to an on-line television guide or programming information which may be digitally encoded in each channel's vertical blanking interval. In addition, the viewer's viewing history may be analyzed to identify the interests of the viewers based on time of broadcast and this information may be used for identifying preferred programs. Thereafter, the system scrutinizes the broadcast feed from CTV, DTV, or Internet link to create a personalized channel which displays the preferred programs irrespective of the actual channel.
US 2005/0120369 discloses a method and system for presenting personalized channel content in a distributed network. A server device transmits several channels with tags attached to them which are indicative of the content of the channels. A client device, such as a TV receives the tagged content and parses the tags to evaluate the tags. The client device stores a user profile which contains user preferences such as type of preferred content, weighting of the content, time of viewing, etc. The user profile is created manually or created automatically based on viewing history. The evaluated tags are compared to the user profile to identify the content matching the user preferences. The preferred content is repackaged into a personalized channel and presented to the user independently. Alternatively, the evaluated tags may be used to create a personalized EPG which displays one or more personalized channels, each of the personalized channels different personalized content extracted using the user profile.
WO0040026A1 describes an electronic program scheduling system for providing personalized TV channels. A program database is used to store program information for a plurality of programs, available on a plurality of real time channels including for each program the program start time, end time, information characterizing the content of the program. A set top box (STB) is used by a viewer to store preference information characterizing an individual user's preferred programs. Using the preference information and information from the program database a schedule is generated for the personal channel. This schedule is used to select and receive at the scheduled start time, the content from the real channel which is displayed through TV as a personal channel in a similar way as a real time program channel.
US 2002/0144267 discloses a method and system for dynamic creation of personalized channels. A personal channel can be configured by a viewer by specifying explicit information regarding the viewer's viewing preferences such as TV shows and their corresponding channels and show timings, etc. Alternatively, the viewer's habits may be implicitly be used to configure the personal channel. The system uses the viewer's preferences to display the personal channel which can be accessed by the viewer like any other regular channel. Additionally, the viewer may record the content being shown on the personal channel. The personal channel is also provided with a split screen to allow the viewer view more than one program that is scheduled for same time slot.
WO05074284A1 discloses a method and system for a personalized broadcast service. One or more user devices are connected to a broadcasting service, which is in turn is connected to one or more content providers. User profile information is transmitted to the broadcasting which in turn analyzes content indicative data provided by the content providers to identify the content preferred to view by the user. The content indicative data comprises EPG and associated metadata. Accordingly, a record scheduling is generated and the user devices record the preferred programs based on the schedule. The user profile information is used to schedule presentation of the recorded content at the user devices.
US 2006/0010467 discloses a method and system for personalized video entertainment. Viewer preferences are created either manually or by analyzing the viewing history. The viewer preferences are used to store video contents in a video server and then create a content sequence. The stored video content is then played in successive order when selected for viewing by the viewer. The stored video content is played just like a TV channel, when one program ends, another program start automatically. In addition, the viewer can use RSTP commands to scroll backward or forth or to skip to new content. The system also supports switching between active channels and the recorded content by using regular channel switching mode.
US 2005/0251842 discloses a method and system for providing a personalized TV channel for multiple users. One or more users are connected via a network for receiving user parameters, preferences, etc. A personalized TV channel is generated in real time for each user by using user parameters and by selectively including preferences from other users. The personalized TV channel is transmitted in real time to other users in the network.
The article entitled “Personalized TV program recommendation based on TV-anytime metadata” by Hongguang Zhang; Shibao Zheng available from http://ieeexplore.ieee.org/xpl/freeabs_alljsp?arnumber=1502378) discusses how the expansion of TV channels in digital era is resulting in a soaring number of program contents available to viewers. The advent of the personal digital recorder makes users face more viewing selections. Besides watching a program that is being broadcast, users can select something favorite to record so that they can watch these contents whenever they like. Viewers are really exposed to TV program overload. Consequently, personalized TV recommendations are necessary to automatically customize program listings. This paper proposes a personalized TV system based on TV-Any time metadata model. In addition to the traditional functions, such as program navigation and search, this system is characterized by recommending program with high preferences that are automatically generated on the basis of usage history.